package aufgabe2;

import java.util.*;

import aufgabe2.MatrixArrayListe.Pair;
import aufgabe2.MatrixListe.Triple;

public class Modul {

	public static MatrixArray createMA(int dim, double zufall) {
		double[][] m = new double[dim][dim];

		for (int i = 0; i < dim; i++) {
			for (int j = 0; j < dim; j++) {
				if (Math.random() > zufall) {
					int x = (int)(Math.random() * 10);
					m[i][j] = x;
				} else {
					m[i][j] = 0;
				}
			}

		}

		return new MatrixArray(m);
	}
	
	public static MatrixArrayListe createMAL(int dim, double zufall){
		ArrayList<Pair>[] matrix = new ArrayList[dim];
		for (int i = 0; i < dim; i++) {
			matrix[i] = new ArrayList<Pair>();
		}
		for(int i = 0; i < dim; i++){
			ArrayList<Pair> a1 = new ArrayList<Pair>();
			for(int j = 0; j < dim; j++){
				if (Math.random() > zufall) {
					int x = (int)(Math.random() * 10);
					a1.add(new Pair(j,x));
				}
			}
			matrix[i] = a1;
		}
		return new MatrixArrayListe(matrix,dim,dim);
	}
	
	public static MatrixListe createML(int dim, double zufall){
		ArrayList<Triple> l1 = new ArrayList<Triple>();
		for(int i = 0; i < dim; i++){
			for(int j = 0; j < dim; j++){
				if (Math.random() > zufall) {
					int x = (int)(Math.random() * 10);
					l1.add(new Triple(i,j,x));
				}
			}		
		}
		return new MatrixListe(l1,dim,dim);
	}

	
	public static void main(String[] args) {
//		MatrixArray matrix;
//		matrix = createMA(5,0.5);
//		System.out.println(matrix);
	
//		MatrixArrayListe matrix2;
//		matrix2 = createMAL(5,0.5);
//		System.out.println(matrix2);
		
		MatrixListe matrix3;
		matrix3 = createML(5,0.5);
		System.out.println(matrix3);
	}
}
